/*
 * Decompiled with CFR 0.150.
 * 
 * Could not load the following classes:
 *  cn.hutool.core.util.ObjectUtil
 *  com.alibaba.fastjson.JSON
 *  de.felixroske.jfxsupport.FXMLController
 *  javafx.collections.FXCollections
 *  javafx.collections.ObservableList
 *  javafx.event.EventHandler
 *  javafx.fxml.FXML
 *  javafx.fxml.Initializable
 *  javafx.scene.control.Alert
 *  javafx.scene.control.Alert$AlertType
 *  javafx.scene.control.ChoiceBox
 *  javafx.scene.control.ScrollPane
 *  javafx.scene.control.TableColumn
 *  javafx.scene.control.TableView
 *  javafx.scene.control.TextField
 *  javafx.scene.control.cell.PropertyValueFactory
 *  javafx.scene.input.KeyCode
 *  javafx.scene.input.KeyEvent
 *  javafx.scene.layout.VBox
 *  javafx.stage.Stage
 *  javafx.util.Callback
 *  javafx.util.StringConverter
 *  org.springframework.beans.factory.annotation.Autowired
 *  org.springframework.util.StringUtils
 */
package com.gys.controller.productBasic;

import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.gys.common.business.ProductBasicUtil;
import com.gys.common.data.HttpJson;
import com.gys.common.enums.ProBrandClass;
import com.gys.common.enums.ProClass;
import com.gys.common.enums.ProForm;
import com.gys.common.enums.ProLifeUnit;
import com.gys.common.enums.ProStorageArea;
import com.gys.common.enums.ProStorageCondition;
import com.gys.common.util.ConstUtil;
import com.gys.controller.BaseController;
import com.gys.controller.dataManger.ControllerManger;
import com.gys.controller.index.IndexController;
import com.gys.data.deviceCheck.GsdcStatus;
import com.gys.data.productBasic.GetProductInfoQueryInData;
import com.gys.data.productBasic.GetProductInfoQueryOutData;
import de.felixroske.jfxsupport.FXMLController;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Alert;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.util.Callback;
import javafx.util.StringConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;

@FXMLController
public class ProductBasicController
extends BaseController
implements Initializable {
    private final int pageSize = ConstUtil.DEFAULT_PAGESIZE;
    private final int defaultPageCount = ConstUtil.DEFAULT_PAGECOUNT;
    private ObservableList<GetProductInfoQueryOutData> observableTableList = FXCollections.observableArrayList(new ArrayList());
    @FXML
    private TextField inpProCode;
    @FXML
    private ChoiceBox<GsdcStatus> inpProMedProdct;
    @FXML
    private ChoiceBox<GsdcStatus> inpProIfpart;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proCode;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proCommonname;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proDeptct;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proPym;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proName;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proSpecs;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proUnit;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proForm;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> gsppPriceCl;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proPartform;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proBarcode;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proBacode2;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proRegisterClass;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proClass;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proClassName;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proCompclass;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proCompclassName;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proPresclass;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proFactoryName;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proMark;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proBrand;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proBrandClass;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proLife;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proLifeUnit;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proHolder;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proBasicCode;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proTaxClass;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proControlClass;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proProduceClass;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proStorageCondition;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proStorageArea;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proIfpart;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proPartRate;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proMidPackage;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proBigPackage;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proElectronnicCode;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proMaxSales;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proInstructionCode;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proInstruction;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proMedProdct;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proMedProdctCode;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proCountry;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proPlace;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> gsppPriceNormal;
    @FXML
    private TableColumn<GetProductInfoQueryOutData, String> proPartUint;
    @Autowired
    private IndexController indexController;
    private Stage stg;
    @FXML
    private TableView<GetProductInfoQueryOutData> tableView;
    @FXML
    private ScrollPane scrollPane;
    @FXML
    private VBox vBox;

    public void initialize(URL location, ResourceBundle resources) {
        this.scrollPane.setPrefWidth(this.getContentWidth());
        this.scrollPane.setPrefHeight(this.getContentHeight());
        this.vBox.setPrefWidth(this.getContentWidth());
        this.vBox.setPrefHeight(this.getContentHeight());
        this.tableView.setPrefWidth(this.getContentWidth());
        ControllerManger.controllerMap.put(this.getClass().getSimpleName(), this);
        this.inpProMedProdct.getItems().addAll(this.getAllStatus());
        this.inpProMedProdct.converterProperty().set(new StringConverter<GsdcStatus>(){

            public String toString(GsdcStatus object) {
                return object.getName();
            }

            public GsdcStatus fromString(String string) {
                return null;
            }
        });
        this.inpProIfpart.getItems().addAll(this.getAllStatus());
        this.inpProIfpart.converterProperty().set(new StringConverter<GsdcStatus>(){

            public String toString(GsdcStatus object) {
                return object.getName();
            }

            public GsdcStatus fromString(String string) {
                return null;
            }
        });
        this.indexController.scrollContentPane.setOnKeyReleased((EventHandler)new EventHandler<KeyEvent>(){

            public void handle(KeyEvent e) {
                if (e.getCode() == KeyCode.ENTER) {
                    ProductBasicController.this.sureAction();
                }
                e.consume();
            }
        });
    }

    private void refreshTable() {
        this.initTable();
    }

    public TableView<GetProductInfoQueryOutData> initTable() {
        List<GetProductInfoQueryOutData> dataList;
        HttpJson rsp;
        GetProductInfoQueryInData inData = new GetProductInfoQueryInData();
        inData.setGspgProId(this.inpProCode.getText().trim());
        if (ObjectUtil.isNotNull(this.inpProMedProdct.getValue())) {
            inData.setProMedProdct(((GsdcStatus)this.inpProMedProdct.getValue()).getCode());
        }
        if (ObjectUtil.isNotNull(this.inpProIfpart.getValue())) {
            inData.setProIfpart(((GsdcStatus)this.inpProIfpart.getValue()).getCode());
        }
        if ((rsp = ProductBasicUtil.getProductBasicList(inData)).isSuccess()) {
            dataList = JSON.parseArray((String)rsp.getMsg(), GetProductInfoQueryOutData.class);
            for (GetProductInfoQueryOutData data : dataList) {
                data.setProForm(ProForm.getName(data.getProForm()));
                data.setProBrandClass(ProBrandClass.getName(data.getProBrandClass()));
                data.setProLifeUnit(ProLifeUnit.getName(data.getProLifeUnit()));
                data.setProProduceClass(ProClass.getName(data.getProProduceClass()));
                data.setProStorageCondition(ProStorageCondition.getName(data.getProStorageCondition()));
                data.setProStorageArea(ProStorageArea.getName(data.getProStorageArea()));
                if ("1".equals(data.getProMedProdct())) {
                    data.setProMedProdct("\u662f");
                }
                if (!"0".equals(data.getProMedProdct())) continue;
                data.setProMedProdct("\u5426");
            }
        } else {
            Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", rsp.getMsg());
            alert.showAndWait();
            return new TableView();
        }
        this.observableTableList.clear();
        this.observableTableList = FXCollections.observableArrayList((Collection)dataList);
        this.bingTableCell();
        this.tableView.setItems(this.observableTableList);
        return this.tableView;
    }

    private void bingTableCell() {
        this.proCode.setCellValueFactory((Callback)new PropertyValueFactory(this.proCode.getId()));
        this.proCommonname.setCellValueFactory((Callback)new PropertyValueFactory(this.proCommonname.getId()));
        this.proDeptct.setCellValueFactory((Callback)new PropertyValueFactory(this.proDeptct.getId()));
        this.proPym.setCellValueFactory((Callback)new PropertyValueFactory(this.proPym.getId()));
        this.proName.setCellValueFactory((Callback)new PropertyValueFactory(this.proName.getId()));
        this.proSpecs.setCellValueFactory((Callback)new PropertyValueFactory(this.proSpecs.getId()));
        this.proUnit.setCellValueFactory((Callback)new PropertyValueFactory(this.proUnit.getId()));
        this.proForm.setCellValueFactory((Callback)new PropertyValueFactory(this.proForm.getId()));
        this.gsppPriceCl.setCellValueFactory((Callback)new PropertyValueFactory(this.gsppPriceCl.getId()));
        this.proPartform.setCellValueFactory((Callback)new PropertyValueFactory(this.proPartform.getId()));
        this.proBarcode.setCellValueFactory((Callback)new PropertyValueFactory(this.proBarcode.getId()));
        this.proBacode2.setCellValueFactory((Callback)new PropertyValueFactory(this.proBacode2.getId()));
        this.proRegisterClass.setCellValueFactory((Callback)new PropertyValueFactory(this.proRegisterClass.getId()));
        this.proClass.setCellValueFactory((Callback)new PropertyValueFactory(this.proClass.getId()));
        this.proClassName.setCellValueFactory((Callback)new PropertyValueFactory(this.proClassName.getId()));
        this.proCompclass.setCellValueFactory((Callback)new PropertyValueFactory(this.proCompclass.getId()));
        this.proCompclassName.setCellValueFactory((Callback)new PropertyValueFactory(this.proCompclassName.getId()));
        this.proPresclass.setCellValueFactory((Callback)new PropertyValueFactory(this.proPresclass.getId()));
        this.proFactoryName.setCellValueFactory((Callback)new PropertyValueFactory(this.proFactoryName.getId()));
        this.proMark.setCellValueFactory((Callback)new PropertyValueFactory(this.proMark.getId()));
        this.proBrand.setCellValueFactory((Callback)new PropertyValueFactory(this.proBrand.getId()));
        this.proBrandClass.setCellValueFactory((Callback)new PropertyValueFactory(this.proBrandClass.getId()));
        this.proLife.setCellValueFactory((Callback)new PropertyValueFactory(this.proLife.getId()));
        this.proLifeUnit.setCellValueFactory((Callback)new PropertyValueFactory(this.proLifeUnit.getId()));
        this.proHolder.setCellValueFactory((Callback)new PropertyValueFactory(this.proHolder.getId()));
        this.proBasicCode.setCellValueFactory((Callback)new PropertyValueFactory(this.proBasicCode.getId()));
        this.proTaxClass.setCellValueFactory((Callback)new PropertyValueFactory(this.proTaxClass.getId()));
        this.proControlClass.setCellValueFactory((Callback)new PropertyValueFactory(this.proControlClass.getId()));
        this.proProduceClass.setCellValueFactory((Callback)new PropertyValueFactory(this.proProduceClass.getId()));
        this.proStorageCondition.setCellValueFactory((Callback)new PropertyValueFactory(this.proStorageCondition.getId()));
        this.proStorageArea.setCellValueFactory((Callback)new PropertyValueFactory(this.proStorageArea.getId()));
        this.proIfpart.setCellValueFactory((Callback)new PropertyValueFactory(this.proIfpart.getId()));
        this.proPartRate.setCellValueFactory((Callback)new PropertyValueFactory(this.proPartRate.getId()));
        this.proPartUint.setCellValueFactory((Callback)new PropertyValueFactory(this.proPartUint.getId()));
        this.gsppPriceNormal.setCellValueFactory((Callback)new PropertyValueFactory(this.gsppPriceNormal.getId()));
        this.proMidPackage.setCellValueFactory((Callback)new PropertyValueFactory(this.proMidPackage.getId()));
        this.proBigPackage.setCellValueFactory((Callback)new PropertyValueFactory(this.proBigPackage.getId()));
        this.proElectronnicCode.setCellValueFactory((Callback)new PropertyValueFactory(this.proElectronnicCode.getId()));
        this.proMaxSales.setCellValueFactory((Callback)new PropertyValueFactory(this.proMaxSales.getId()));
        this.proInstructionCode.setCellValueFactory((Callback)new PropertyValueFactory(this.proInstructionCode.getId()));
        this.proInstruction.setCellValueFactory((Callback)new PropertyValueFactory(this.proInstruction.getId()));
        this.proMedProdct.setCellValueFactory((Callback)new PropertyValueFactory(this.proMedProdct.getId()));
        this.proMedProdctCode.setCellValueFactory((Callback)new PropertyValueFactory(this.proMedProdctCode.getId()));
        this.proCountry.setCellValueFactory((Callback)new PropertyValueFactory(this.proCountry.getId()));
        this.proPlace.setCellValueFactory((Callback)new PropertyValueFactory(this.proPlace.getId()));
    }

    @FXML
    void sureAction() {
        String inpProCodeSearchStr = this.inpProCode.getText().trim();
        String inpProMedProdctSearchStr = "";
        if (!StringUtils.isEmpty(this.inpProMedProdct.getValue())) {
            inpProMedProdctSearchStr = ((GsdcStatus)this.inpProMedProdct.getValue()).getCode();
        }
        String inpProIfpartSearchStr = "";
        if (!StringUtils.isEmpty(this.inpProIfpart.getValue())) {
            inpProIfpartSearchStr = ((GsdcStatus)this.inpProIfpart.getValue()).getCode();
        }
        Alert alert = this.createAlert(Alert.AlertType.INFORMATION, "\u63d0\u793a\u4fe1\u606f", null);
        if (StringUtils.isEmpty(inpProCodeSearchStr) && StringUtils.isEmpty(inpProMedProdctSearchStr) && StringUtils.isEmpty(inpProIfpartSearchStr)) {
            alert.setContentText("\u5fc5\u987b\u81f3\u5c11\u586b\u5199\u4e00\u9879\u5185\u5bb9\u8fdb\u884c\u67e5\u8be2\uff01");
            alert.showAndWait();
            return;
        }
        this.initTable();
    }

    private List<GsdcStatus> getAllStatus() {
        ArrayList<GsdcStatus> list = new ArrayList<GsdcStatus>();
        list.add(new GsdcStatus("1", "\u662f"));
        list.add(new GsdcStatus("0", "\u5426"));
        return list;
    }

    @FXML
    private void reset() {
        this.inpProCode.clear();
        this.inpProMedProdct.setValue(null);
        this.inpProIfpart.setValue(null);
    }

    public int getPageSize() {
        return this.pageSize;
    }

    public int getDefaultPageCount() {
        return this.defaultPageCount;
    }

    public ObservableList<GetProductInfoQueryOutData> getObservableTableList() {
        return this.observableTableList;
    }

    public TextField getInpProCode() {
        return this.inpProCode;
    }

    public ChoiceBox<GsdcStatus> getInpProMedProdct() {
        return this.inpProMedProdct;
    }

    public ChoiceBox<GsdcStatus> getInpProIfpart() {
        return this.inpProIfpart;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProCode() {
        return this.proCode;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProCommonname() {
        return this.proCommonname;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProDeptct() {
        return this.proDeptct;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProPym() {
        return this.proPym;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProName() {
        return this.proName;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProSpecs() {
        return this.proSpecs;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProUnit() {
        return this.proUnit;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProForm() {
        return this.proForm;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getGsppPriceCl() {
        return this.gsppPriceCl;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProPartform() {
        return this.proPartform;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProBarcode() {
        return this.proBarcode;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProBacode2() {
        return this.proBacode2;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProRegisterClass() {
        return this.proRegisterClass;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProClass() {
        return this.proClass;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProClassName() {
        return this.proClassName;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProCompclass() {
        return this.proCompclass;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProCompclassName() {
        return this.proCompclassName;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProPresclass() {
        return this.proPresclass;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProFactoryName() {
        return this.proFactoryName;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProMark() {
        return this.proMark;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProBrand() {
        return this.proBrand;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProBrandClass() {
        return this.proBrandClass;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProLife() {
        return this.proLife;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProLifeUnit() {
        return this.proLifeUnit;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProHolder() {
        return this.proHolder;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProBasicCode() {
        return this.proBasicCode;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProTaxClass() {
        return this.proTaxClass;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProControlClass() {
        return this.proControlClass;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProProduceClass() {
        return this.proProduceClass;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProStorageCondition() {
        return this.proStorageCondition;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProStorageArea() {
        return this.proStorageArea;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProIfpart() {
        return this.proIfpart;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProPartRate() {
        return this.proPartRate;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProMidPackage() {
        return this.proMidPackage;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProBigPackage() {
        return this.proBigPackage;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProElectronnicCode() {
        return this.proElectronnicCode;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProMaxSales() {
        return this.proMaxSales;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProInstructionCode() {
        return this.proInstructionCode;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProInstruction() {
        return this.proInstruction;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProMedProdct() {
        return this.proMedProdct;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProMedProdctCode() {
        return this.proMedProdctCode;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProCountry() {
        return this.proCountry;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProPlace() {
        return this.proPlace;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getGsppPriceNormal() {
        return this.gsppPriceNormal;
    }

    public TableColumn<GetProductInfoQueryOutData, String> getProPartUint() {
        return this.proPartUint;
    }

    public IndexController getIndexController() {
        return this.indexController;
    }

    public Stage getStg() {
        return this.stg;
    }

    public TableView<GetProductInfoQueryOutData> getTableView() {
        return this.tableView;
    }

    public ScrollPane getScrollPane() {
        return this.scrollPane;
    }

    public VBox getVBox() {
        return this.vBox;
    }

    public void setObservableTableList(ObservableList<GetProductInfoQueryOutData> observableTableList) {
        this.observableTableList = observableTableList;
    }

    public void setInpProCode(TextField inpProCode) {
        this.inpProCode = inpProCode;
    }

    public void setInpProMedProdct(ChoiceBox<GsdcStatus> inpProMedProdct) {
        this.inpProMedProdct = inpProMedProdct;
    }

    public void setInpProIfpart(ChoiceBox<GsdcStatus> inpProIfpart) {
        this.inpProIfpart = inpProIfpart;
    }

    public void setProCode(TableColumn<GetProductInfoQueryOutData, String> proCode) {
        this.proCode = proCode;
    }

    public void setProCommonname(TableColumn<GetProductInfoQueryOutData, String> proCommonname) {
        this.proCommonname = proCommonname;
    }

    public void setProDeptct(TableColumn<GetProductInfoQueryOutData, String> proDeptct) {
        this.proDeptct = proDeptct;
    }

    public void setProPym(TableColumn<GetProductInfoQueryOutData, String> proPym) {
        this.proPym = proPym;
    }

    public void setProName(TableColumn<GetProductInfoQueryOutData, String> proName) {
        this.proName = proName;
    }

    public void setProSpecs(TableColumn<GetProductInfoQueryOutData, String> proSpecs) {
        this.proSpecs = proSpecs;
    }

    public void setProUnit(TableColumn<GetProductInfoQueryOutData, String> proUnit) {
        this.proUnit = proUnit;
    }

    public void setProForm(TableColumn<GetProductInfoQueryOutData, String> proForm) {
        this.proForm = proForm;
    }

    public void setGsppPriceCl(TableColumn<GetProductInfoQueryOutData, String> gsppPriceCl) {
        this.gsppPriceCl = gsppPriceCl;
    }

    public void setProPartform(TableColumn<GetProductInfoQueryOutData, String> proPartform) {
        this.proPartform = proPartform;
    }

    public void setProBarcode(TableColumn<GetProductInfoQueryOutData, String> proBarcode) {
        this.proBarcode = proBarcode;
    }

    public void setProBacode2(TableColumn<GetProductInfoQueryOutData, String> proBacode2) {
        this.proBacode2 = proBacode2;
    }

    public void setProRegisterClass(TableColumn<GetProductInfoQueryOutData, String> proRegisterClass) {
        this.proRegisterClass = proRegisterClass;
    }

    public void setProClass(TableColumn<GetProductInfoQueryOutData, String> proClass) {
        this.proClass = proClass;
    }

    public void setProClassName(TableColumn<GetProductInfoQueryOutData, String> proClassName) {
        this.proClassName = proClassName;
    }

    public void setProCompclass(TableColumn<GetProductInfoQueryOutData, String> proCompclass) {
        this.proCompclass = proCompclass;
    }

    public void setProCompclassName(TableColumn<GetProductInfoQueryOutData, String> proCompclassName) {
        this.proCompclassName = proCompclassName;
    }

    public void setProPresclass(TableColumn<GetProductInfoQueryOutData, String> proPresclass) {
        this.proPresclass = proPresclass;
    }

    public void setProFactoryName(TableColumn<GetProductInfoQueryOutData, String> proFactoryName) {
        this.proFactoryName = proFactoryName;
    }

    public void setProMark(TableColumn<GetProductInfoQueryOutData, String> proMark) {
        this.proMark = proMark;
    }

    public void setProBrand(TableColumn<GetProductInfoQueryOutData, String> proBrand) {
        this.proBrand = proBrand;
    }

    public void setProBrandClass(TableColumn<GetProductInfoQueryOutData, String> proBrandClass) {
        this.proBrandClass = proBrandClass;
    }

    public void setProLife(TableColumn<GetProductInfoQueryOutData, String> proLife) {
        this.proLife = proLife;
    }

    public void setProLifeUnit(TableColumn<GetProductInfoQueryOutData, String> proLifeUnit) {
        this.proLifeUnit = proLifeUnit;
    }

    public void setProHolder(TableColumn<GetProductInfoQueryOutData, String> proHolder) {
        this.proHolder = proHolder;
    }

    public void setProBasicCode(TableColumn<GetProductInfoQueryOutData, String> proBasicCode) {
        this.proBasicCode = proBasicCode;
    }

    public void setProTaxClass(TableColumn<GetProductInfoQueryOutData, String> proTaxClass) {
        this.proTaxClass = proTaxClass;
    }

    public void setProControlClass(TableColumn<GetProductInfoQueryOutData, String> proControlClass) {
        this.proControlClass = proControlClass;
    }

    public void setProProduceClass(TableColumn<GetProductInfoQueryOutData, String> proProduceClass) {
        this.proProduceClass = proProduceClass;
    }

    public void setProStorageCondition(TableColumn<GetProductInfoQueryOutData, String> proStorageCondition) {
        this.proStorageCondition = proStorageCondition;
    }

    public void setProStorageArea(TableColumn<GetProductInfoQueryOutData, String> proStorageArea) {
        this.proStorageArea = proStorageArea;
    }

    public void setProIfpart(TableColumn<GetProductInfoQueryOutData, String> proIfpart) {
        this.proIfpart = proIfpart;
    }

    public void setProPartRate(TableColumn<GetProductInfoQueryOutData, String> proPartRate) {
        this.proPartRate = proPartRate;
    }

    public void setProMidPackage(TableColumn<GetProductInfoQueryOutData, String> proMidPackage) {
        this.proMidPackage = proMidPackage;
    }

    public void setProBigPackage(TableColumn<GetProductInfoQueryOutData, String> proBigPackage) {
        this.proBigPackage = proBigPackage;
    }

    public void setProElectronnicCode(TableColumn<GetProductInfoQueryOutData, String> proElectronnicCode) {
        this.proElectronnicCode = proElectronnicCode;
    }

    public void setProMaxSales(TableColumn<GetProductInfoQueryOutData, String> proMaxSales) {
        this.proMaxSales = proMaxSales;
    }

    public void setProInstructionCode(TableColumn<GetProductInfoQueryOutData, String> proInstructionCode) {
        this.proInstructionCode = proInstructionCode;
    }

    public void setProInstruction(TableColumn<GetProductInfoQueryOutData, String> proInstruction) {
        this.proInstruction = proInstruction;
    }

    public void setProMedProdct(TableColumn<GetProductInfoQueryOutData, String> proMedProdct) {
        this.proMedProdct = proMedProdct;
    }

    public void setProMedProdctCode(TableColumn<GetProductInfoQueryOutData, String> proMedProdctCode) {
        this.proMedProdctCode = proMedProdctCode;
    }

    public void setProCountry(TableColumn<GetProductInfoQueryOutData, String> proCountry) {
        this.proCountry = proCountry;
    }

    public void setProPlace(TableColumn<GetProductInfoQueryOutData, String> proPlace) {
        this.proPlace = proPlace;
    }

    public void setGsppPriceNormal(TableColumn<GetProductInfoQueryOutData, String> gsppPriceNormal) {
        this.gsppPriceNormal = gsppPriceNormal;
    }

    public void setProPartUint(TableColumn<GetProductInfoQueryOutData, String> proPartUint) {
        this.proPartUint = proPartUint;
    }

    public void setIndexController(IndexController indexController) {
        this.indexController = indexController;
    }

    public void setStg(Stage stg) {
        this.stg = stg;
    }

    public void setTableView(TableView<GetProductInfoQueryOutData> tableView) {
        this.tableView = tableView;
    }

    public void setScrollPane(ScrollPane scrollPane) {
        this.scrollPane = scrollPane;
    }

    public void setVBox(VBox vBox) {
        this.vBox = vBox;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof ProductBasicController)) {
            return false;
        }
        ProductBasicController other = (ProductBasicController)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (this.getPageSize() != other.getPageSize()) {
            return false;
        }
        if (this.getDefaultPageCount() != other.getDefaultPageCount()) {
            return false;
        }
        ObservableList<GetProductInfoQueryOutData> this$observableTableList = this.getObservableTableList();
        ObservableList<GetProductInfoQueryOutData> other$observableTableList = other.getObservableTableList();
        if (this$observableTableList == null ? other$observableTableList != null : !this$observableTableList.equals(other$observableTableList)) {
            return false;
        }
        TextField this$inpProCode = this.getInpProCode();
        TextField other$inpProCode = other.getInpProCode();
        if (this$inpProCode == null ? other$inpProCode != null : !this$inpProCode.equals(other$inpProCode)) {
            return false;
        }
        ChoiceBox<GsdcStatus> this$inpProMedProdct = this.getInpProMedProdct();
        ChoiceBox<GsdcStatus> other$inpProMedProdct = other.getInpProMedProdct();
        if (this$inpProMedProdct == null ? other$inpProMedProdct != null : !this$inpProMedProdct.equals(other$inpProMedProdct)) {
            return false;
        }
        ChoiceBox<GsdcStatus> this$inpProIfpart = this.getInpProIfpart();
        ChoiceBox<GsdcStatus> other$inpProIfpart = other.getInpProIfpart();
        if (this$inpProIfpart == null ? other$inpProIfpart != null : !this$inpProIfpart.equals(other$inpProIfpart)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proCode = this.getProCode();
        TableColumn<GetProductInfoQueryOutData, String> other$proCode = other.getProCode();
        if (this$proCode == null ? other$proCode != null : !this$proCode.equals(other$proCode)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proCommonname = this.getProCommonname();
        TableColumn<GetProductInfoQueryOutData, String> other$proCommonname = other.getProCommonname();
        if (this$proCommonname == null ? other$proCommonname != null : !this$proCommonname.equals(other$proCommonname)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proDeptct = this.getProDeptct();
        TableColumn<GetProductInfoQueryOutData, String> other$proDeptct = other.getProDeptct();
        if (this$proDeptct == null ? other$proDeptct != null : !this$proDeptct.equals(other$proDeptct)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proPym = this.getProPym();
        TableColumn<GetProductInfoQueryOutData, String> other$proPym = other.getProPym();
        if (this$proPym == null ? other$proPym != null : !this$proPym.equals(other$proPym)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proName = this.getProName();
        TableColumn<GetProductInfoQueryOutData, String> other$proName = other.getProName();
        if (this$proName == null ? other$proName != null : !this$proName.equals(other$proName)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proSpecs = this.getProSpecs();
        TableColumn<GetProductInfoQueryOutData, String> other$proSpecs = other.getProSpecs();
        if (this$proSpecs == null ? other$proSpecs != null : !this$proSpecs.equals(other$proSpecs)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proUnit = this.getProUnit();
        TableColumn<GetProductInfoQueryOutData, String> other$proUnit = other.getProUnit();
        if (this$proUnit == null ? other$proUnit != null : !this$proUnit.equals(other$proUnit)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proForm = this.getProForm();
        TableColumn<GetProductInfoQueryOutData, String> other$proForm = other.getProForm();
        if (this$proForm == null ? other$proForm != null : !this$proForm.equals(other$proForm)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$gsppPriceCl = this.getGsppPriceCl();
        TableColumn<GetProductInfoQueryOutData, String> other$gsppPriceCl = other.getGsppPriceCl();
        if (this$gsppPriceCl == null ? other$gsppPriceCl != null : !this$gsppPriceCl.equals(other$gsppPriceCl)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proPartform = this.getProPartform();
        TableColumn<GetProductInfoQueryOutData, String> other$proPartform = other.getProPartform();
        if (this$proPartform == null ? other$proPartform != null : !this$proPartform.equals(other$proPartform)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proBarcode = this.getProBarcode();
        TableColumn<GetProductInfoQueryOutData, String> other$proBarcode = other.getProBarcode();
        if (this$proBarcode == null ? other$proBarcode != null : !this$proBarcode.equals(other$proBarcode)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proBacode2 = this.getProBacode2();
        TableColumn<GetProductInfoQueryOutData, String> other$proBacode2 = other.getProBacode2();
        if (this$proBacode2 == null ? other$proBacode2 != null : !this$proBacode2.equals(other$proBacode2)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proRegisterClass = this.getProRegisterClass();
        TableColumn<GetProductInfoQueryOutData, String> other$proRegisterClass = other.getProRegisterClass();
        if (this$proRegisterClass == null ? other$proRegisterClass != null : !this$proRegisterClass.equals(other$proRegisterClass)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proClass = this.getProClass();
        TableColumn<GetProductInfoQueryOutData, String> other$proClass = other.getProClass();
        if (this$proClass == null ? other$proClass != null : !this$proClass.equals(other$proClass)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proClassName = this.getProClassName();
        TableColumn<GetProductInfoQueryOutData, String> other$proClassName = other.getProClassName();
        if (this$proClassName == null ? other$proClassName != null : !this$proClassName.equals(other$proClassName)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proCompclass = this.getProCompclass();
        TableColumn<GetProductInfoQueryOutData, String> other$proCompclass = other.getProCompclass();
        if (this$proCompclass == null ? other$proCompclass != null : !this$proCompclass.equals(other$proCompclass)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proCompclassName = this.getProCompclassName();
        TableColumn<GetProductInfoQueryOutData, String> other$proCompclassName = other.getProCompclassName();
        if (this$proCompclassName == null ? other$proCompclassName != null : !this$proCompclassName.equals(other$proCompclassName)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proPresclass = this.getProPresclass();
        TableColumn<GetProductInfoQueryOutData, String> other$proPresclass = other.getProPresclass();
        if (this$proPresclass == null ? other$proPresclass != null : !this$proPresclass.equals(other$proPresclass)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proFactoryName = this.getProFactoryName();
        TableColumn<GetProductInfoQueryOutData, String> other$proFactoryName = other.getProFactoryName();
        if (this$proFactoryName == null ? other$proFactoryName != null : !this$proFactoryName.equals(other$proFactoryName)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proMark = this.getProMark();
        TableColumn<GetProductInfoQueryOutData, String> other$proMark = other.getProMark();
        if (this$proMark == null ? other$proMark != null : !this$proMark.equals(other$proMark)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proBrand = this.getProBrand();
        TableColumn<GetProductInfoQueryOutData, String> other$proBrand = other.getProBrand();
        if (this$proBrand == null ? other$proBrand != null : !this$proBrand.equals(other$proBrand)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proBrandClass = this.getProBrandClass();
        TableColumn<GetProductInfoQueryOutData, String> other$proBrandClass = other.getProBrandClass();
        if (this$proBrandClass == null ? other$proBrandClass != null : !this$proBrandClass.equals(other$proBrandClass)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proLife = this.getProLife();
        TableColumn<GetProductInfoQueryOutData, String> other$proLife = other.getProLife();
        if (this$proLife == null ? other$proLife != null : !this$proLife.equals(other$proLife)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proLifeUnit = this.getProLifeUnit();
        TableColumn<GetProductInfoQueryOutData, String> other$proLifeUnit = other.getProLifeUnit();
        if (this$proLifeUnit == null ? other$proLifeUnit != null : !this$proLifeUnit.equals(other$proLifeUnit)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proHolder = this.getProHolder();
        TableColumn<GetProductInfoQueryOutData, String> other$proHolder = other.getProHolder();
        if (this$proHolder == null ? other$proHolder != null : !this$proHolder.equals(other$proHolder)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proBasicCode = this.getProBasicCode();
        TableColumn<GetProductInfoQueryOutData, String> other$proBasicCode = other.getProBasicCode();
        if (this$proBasicCode == null ? other$proBasicCode != null : !this$proBasicCode.equals(other$proBasicCode)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proTaxClass = this.getProTaxClass();
        TableColumn<GetProductInfoQueryOutData, String> other$proTaxClass = other.getProTaxClass();
        if (this$proTaxClass == null ? other$proTaxClass != null : !this$proTaxClass.equals(other$proTaxClass)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proControlClass = this.getProControlClass();
        TableColumn<GetProductInfoQueryOutData, String> other$proControlClass = other.getProControlClass();
        if (this$proControlClass == null ? other$proControlClass != null : !this$proControlClass.equals(other$proControlClass)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proProduceClass = this.getProProduceClass();
        TableColumn<GetProductInfoQueryOutData, String> other$proProduceClass = other.getProProduceClass();
        if (this$proProduceClass == null ? other$proProduceClass != null : !this$proProduceClass.equals(other$proProduceClass)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proStorageCondition = this.getProStorageCondition();
        TableColumn<GetProductInfoQueryOutData, String> other$proStorageCondition = other.getProStorageCondition();
        if (this$proStorageCondition == null ? other$proStorageCondition != null : !this$proStorageCondition.equals(other$proStorageCondition)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proStorageArea = this.getProStorageArea();
        TableColumn<GetProductInfoQueryOutData, String> other$proStorageArea = other.getProStorageArea();
        if (this$proStorageArea == null ? other$proStorageArea != null : !this$proStorageArea.equals(other$proStorageArea)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proIfpart = this.getProIfpart();
        TableColumn<GetProductInfoQueryOutData, String> other$proIfpart = other.getProIfpart();
        if (this$proIfpart == null ? other$proIfpart != null : !this$proIfpart.equals(other$proIfpart)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proPartRate = this.getProPartRate();
        TableColumn<GetProductInfoQueryOutData, String> other$proPartRate = other.getProPartRate();
        if (this$proPartRate == null ? other$proPartRate != null : !this$proPartRate.equals(other$proPartRate)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proMidPackage = this.getProMidPackage();
        TableColumn<GetProductInfoQueryOutData, String> other$proMidPackage = other.getProMidPackage();
        if (this$proMidPackage == null ? other$proMidPackage != null : !this$proMidPackage.equals(other$proMidPackage)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proBigPackage = this.getProBigPackage();
        TableColumn<GetProductInfoQueryOutData, String> other$proBigPackage = other.getProBigPackage();
        if (this$proBigPackage == null ? other$proBigPackage != null : !this$proBigPackage.equals(other$proBigPackage)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proElectronnicCode = this.getProElectronnicCode();
        TableColumn<GetProductInfoQueryOutData, String> other$proElectronnicCode = other.getProElectronnicCode();
        if (this$proElectronnicCode == null ? other$proElectronnicCode != null : !this$proElectronnicCode.equals(other$proElectronnicCode)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proMaxSales = this.getProMaxSales();
        TableColumn<GetProductInfoQueryOutData, String> other$proMaxSales = other.getProMaxSales();
        if (this$proMaxSales == null ? other$proMaxSales != null : !this$proMaxSales.equals(other$proMaxSales)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proInstructionCode = this.getProInstructionCode();
        TableColumn<GetProductInfoQueryOutData, String> other$proInstructionCode = other.getProInstructionCode();
        if (this$proInstructionCode == null ? other$proInstructionCode != null : !this$proInstructionCode.equals(other$proInstructionCode)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proInstruction = this.getProInstruction();
        TableColumn<GetProductInfoQueryOutData, String> other$proInstruction = other.getProInstruction();
        if (this$proInstruction == null ? other$proInstruction != null : !this$proInstruction.equals(other$proInstruction)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proMedProdct = this.getProMedProdct();
        TableColumn<GetProductInfoQueryOutData, String> other$proMedProdct = other.getProMedProdct();
        if (this$proMedProdct == null ? other$proMedProdct != null : !this$proMedProdct.equals(other$proMedProdct)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proMedProdctCode = this.getProMedProdctCode();
        TableColumn<GetProductInfoQueryOutData, String> other$proMedProdctCode = other.getProMedProdctCode();
        if (this$proMedProdctCode == null ? other$proMedProdctCode != null : !this$proMedProdctCode.equals(other$proMedProdctCode)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proCountry = this.getProCountry();
        TableColumn<GetProductInfoQueryOutData, String> other$proCountry = other.getProCountry();
        if (this$proCountry == null ? other$proCountry != null : !this$proCountry.equals(other$proCountry)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proPlace = this.getProPlace();
        TableColumn<GetProductInfoQueryOutData, String> other$proPlace = other.getProPlace();
        if (this$proPlace == null ? other$proPlace != null : !this$proPlace.equals(other$proPlace)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$gsppPriceNormal = this.getGsppPriceNormal();
        TableColumn<GetProductInfoQueryOutData, String> other$gsppPriceNormal = other.getGsppPriceNormal();
        if (this$gsppPriceNormal == null ? other$gsppPriceNormal != null : !this$gsppPriceNormal.equals(other$gsppPriceNormal)) {
            return false;
        }
        TableColumn<GetProductInfoQueryOutData, String> this$proPartUint = this.getProPartUint();
        TableColumn<GetProductInfoQueryOutData, String> other$proPartUint = other.getProPartUint();
        if (this$proPartUint == null ? other$proPartUint != null : !this$proPartUint.equals(other$proPartUint)) {
            return false;
        }
        IndexController this$indexController = this.getIndexController();
        IndexController other$indexController = other.getIndexController();
        if (this$indexController == null ? other$indexController != null : !(this$indexController).equals(other$indexController)) {
            return false;
        }
        Stage this$stg = this.getStg();
        Stage other$stg = other.getStg();
        if (this$stg == null ? other$stg != null : !this$stg.equals(other$stg)) {
            return false;
        }
        TableView<GetProductInfoQueryOutData> this$tableView = this.getTableView();
        TableView<GetProductInfoQueryOutData> other$tableView = other.getTableView();
        if (this$tableView == null ? other$tableView != null : !this$tableView.equals(other$tableView)) {
            return false;
        }
        ScrollPane this$scrollPane = this.getScrollPane();
        ScrollPane other$scrollPane = other.getScrollPane();
        if (this$scrollPane == null ? other$scrollPane != null : !this$scrollPane.equals(other$scrollPane)) {
            return false;
        }
        VBox this$vBox = this.getVBox();
        VBox other$vBox = other.getVBox();
        return !(this$vBox == null ? other$vBox != null : !this$vBox.equals(other$vBox));
    }

    protected boolean canEqual(Object other) {
        return other instanceof ProductBasicController;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        result = result * 59 + this.getPageSize();
        result = result * 59 + this.getDefaultPageCount();
        ObservableList<GetProductInfoQueryOutData> $observableTableList = this.getObservableTableList();
        result = result * 59 + ($observableTableList == null ? 43 : $observableTableList.hashCode());
        TextField $inpProCode = this.getInpProCode();
        result = result * 59 + ($inpProCode == null ? 43 : $inpProCode.hashCode());
        ChoiceBox<GsdcStatus> $inpProMedProdct = this.getInpProMedProdct();
        result = result * 59 + ($inpProMedProdct == null ? 43 : $inpProMedProdct.hashCode());
        ChoiceBox<GsdcStatus> $inpProIfpart = this.getInpProIfpart();
        result = result * 59 + ($inpProIfpart == null ? 43 : $inpProIfpart.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proCode = this.getProCode();
        result = result * 59 + ($proCode == null ? 43 : $proCode.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proCommonname = this.getProCommonname();
        result = result * 59 + ($proCommonname == null ? 43 : $proCommonname.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proDeptct = this.getProDeptct();
        result = result * 59 + ($proDeptct == null ? 43 : $proDeptct.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proPym = this.getProPym();
        result = result * 59 + ($proPym == null ? 43 : $proPym.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proName = this.getProName();
        result = result * 59 + ($proName == null ? 43 : $proName.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proSpecs = this.getProSpecs();
        result = result * 59 + ($proSpecs == null ? 43 : $proSpecs.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proUnit = this.getProUnit();
        result = result * 59 + ($proUnit == null ? 43 : $proUnit.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proForm = this.getProForm();
        result = result * 59 + ($proForm == null ? 43 : $proForm.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $gsppPriceCl = this.getGsppPriceCl();
        result = result * 59 + ($gsppPriceCl == null ? 43 : $gsppPriceCl.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proPartform = this.getProPartform();
        result = result * 59 + ($proPartform == null ? 43 : $proPartform.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proBarcode = this.getProBarcode();
        result = result * 59 + ($proBarcode == null ? 43 : $proBarcode.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proBacode2 = this.getProBacode2();
        result = result * 59 + ($proBacode2 == null ? 43 : $proBacode2.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proRegisterClass = this.getProRegisterClass();
        result = result * 59 + ($proRegisterClass == null ? 43 : $proRegisterClass.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proClass = this.getProClass();
        result = result * 59 + ($proClass == null ? 43 : $proClass.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proClassName = this.getProClassName();
        result = result * 59 + ($proClassName == null ? 43 : $proClassName.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proCompclass = this.getProCompclass();
        result = result * 59 + ($proCompclass == null ? 43 : $proCompclass.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proCompclassName = this.getProCompclassName();
        result = result * 59 + ($proCompclassName == null ? 43 : $proCompclassName.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proPresclass = this.getProPresclass();
        result = result * 59 + ($proPresclass == null ? 43 : $proPresclass.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proFactoryName = this.getProFactoryName();
        result = result * 59 + ($proFactoryName == null ? 43 : $proFactoryName.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proMark = this.getProMark();
        result = result * 59 + ($proMark == null ? 43 : $proMark.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proBrand = this.getProBrand();
        result = result * 59 + ($proBrand == null ? 43 : $proBrand.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proBrandClass = this.getProBrandClass();
        result = result * 59 + ($proBrandClass == null ? 43 : $proBrandClass.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proLife = this.getProLife();
        result = result * 59 + ($proLife == null ? 43 : $proLife.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proLifeUnit = this.getProLifeUnit();
        result = result * 59 + ($proLifeUnit == null ? 43 : $proLifeUnit.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proHolder = this.getProHolder();
        result = result * 59 + ($proHolder == null ? 43 : $proHolder.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proBasicCode = this.getProBasicCode();
        result = result * 59 + ($proBasicCode == null ? 43 : $proBasicCode.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proTaxClass = this.getProTaxClass();
        result = result * 59 + ($proTaxClass == null ? 43 : $proTaxClass.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proControlClass = this.getProControlClass();
        result = result * 59 + ($proControlClass == null ? 43 : $proControlClass.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proProduceClass = this.getProProduceClass();
        result = result * 59 + ($proProduceClass == null ? 43 : $proProduceClass.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proStorageCondition = this.getProStorageCondition();
        result = result * 59 + ($proStorageCondition == null ? 43 : $proStorageCondition.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proStorageArea = this.getProStorageArea();
        result = result * 59 + ($proStorageArea == null ? 43 : $proStorageArea.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proIfpart = this.getProIfpart();
        result = result * 59 + ($proIfpart == null ? 43 : $proIfpart.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proPartRate = this.getProPartRate();
        result = result * 59 + ($proPartRate == null ? 43 : $proPartRate.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proMidPackage = this.getProMidPackage();
        result = result * 59 + ($proMidPackage == null ? 43 : $proMidPackage.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proBigPackage = this.getProBigPackage();
        result = result * 59 + ($proBigPackage == null ? 43 : $proBigPackage.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proElectronnicCode = this.getProElectronnicCode();
        result = result * 59 + ($proElectronnicCode == null ? 43 : $proElectronnicCode.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proMaxSales = this.getProMaxSales();
        result = result * 59 + ($proMaxSales == null ? 43 : $proMaxSales.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proInstructionCode = this.getProInstructionCode();
        result = result * 59 + ($proInstructionCode == null ? 43 : $proInstructionCode.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proInstruction = this.getProInstruction();
        result = result * 59 + ($proInstruction == null ? 43 : $proInstruction.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proMedProdct = this.getProMedProdct();
        result = result * 59 + ($proMedProdct == null ? 43 : $proMedProdct.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proMedProdctCode = this.getProMedProdctCode();
        result = result * 59 + ($proMedProdctCode == null ? 43 : $proMedProdctCode.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proCountry = this.getProCountry();
        result = result * 59 + ($proCountry == null ? 43 : $proCountry.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proPlace = this.getProPlace();
        result = result * 59 + ($proPlace == null ? 43 : $proPlace.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $gsppPriceNormal = this.getGsppPriceNormal();
        result = result * 59 + ($gsppPriceNormal == null ? 43 : $gsppPriceNormal.hashCode());
        TableColumn<GetProductInfoQueryOutData, String> $proPartUint = this.getProPartUint();
        result = result * 59 + ($proPartUint == null ? 43 : $proPartUint.hashCode());
        IndexController $indexController = this.getIndexController();
        result = result * 59 + ($indexController == null ? 43 : ($indexController).hashCode());
        Stage $stg = this.getStg();
        result = result * 59 + ($stg == null ? 43 : $stg.hashCode());
        TableView<GetProductInfoQueryOutData> $tableView = this.getTableView();
        result = result * 59 + ($tableView == null ? 43 : $tableView.hashCode());
        ScrollPane $scrollPane = this.getScrollPane();
        result = result * 59 + ($scrollPane == null ? 43 : $scrollPane.hashCode());
        VBox $vBox = this.getVBox();
        result = result * 59 + ($vBox == null ? 43 : $vBox.hashCode());
        return result;
    }

    public String toString() {
        return "ProductBasicController(pageSize=" + this.getPageSize() + ", defaultPageCount=" + this.getDefaultPageCount() + ", observableTableList=" + this.getObservableTableList() + ", inpProCode=" + this.getInpProCode() + ", inpProMedProdct=" + this.getInpProMedProdct() + ", inpProIfpart=" + this.getInpProIfpart() + ", proCode=" + this.getProCode() + ", proCommonname=" + this.getProCommonname() + ", proDeptct=" + this.getProDeptct() + ", proPym=" + this.getProPym() + ", proName=" + this.getProName() + ", proSpecs=" + this.getProSpecs() + ", proUnit=" + this.getProUnit() + ", proForm=" + this.getProForm() + ", gsppPriceCl=" + this.getGsppPriceCl() + ", proPartform=" + this.getProPartform() + ", proBarcode=" + this.getProBarcode() + ", proBacode2=" + this.getProBacode2() + ", proRegisterClass=" + this.getProRegisterClass() + ", proClass=" + this.getProClass() + ", proClassName=" + this.getProClassName() + ", proCompclass=" + this.getProCompclass() + ", proCompclassName=" + this.getProCompclassName() + ", proPresclass=" + this.getProPresclass() + ", proFactoryName=" + this.getProFactoryName() + ", proMark=" + this.getProMark() + ", proBrand=" + this.getProBrand() + ", proBrandClass=" + this.getProBrandClass() + ", proLife=" + this.getProLife() + ", proLifeUnit=" + this.getProLifeUnit() + ", proHolder=" + this.getProHolder() + ", proBasicCode=" + this.getProBasicCode() + ", proTaxClass=" + this.getProTaxClass() + ", proControlClass=" + this.getProControlClass() + ", proProduceClass=" + this.getProProduceClass() + ", proStorageCondition=" + this.getProStorageCondition() + ", proStorageArea=" + this.getProStorageArea() + ", proIfpart=" + this.getProIfpart() + ", proPartRate=" + this.getProPartRate() + ", proMidPackage=" + this.getProMidPackage() + ", proBigPackage=" + this.getProBigPackage() + ", proElectronnicCode=" + this.getProElectronnicCode() + ", proMaxSales=" + this.getProMaxSales() + ", proInstructionCode=" + this.getProInstructionCode() + ", proInstruction=" + this.getProInstruction() + ", proMedProdct=" + this.getProMedProdct() + ", proMedProdctCode=" + this.getProMedProdctCode() + ", proCountry=" + this.getProCountry() + ", proPlace=" + this.getProPlace() + ", gsppPriceNormal=" + this.getGsppPriceNormal() + ", proPartUint=" + this.getProPartUint() + ", indexController=" + this.getIndexController() + ", stg=" + this.getStg() + ", tableView=" + this.getTableView() + ", scrollPane=" + this.getScrollPane() + ", vBox=" + this.getVBox() + ")";
    }
}

